using System;
using System.Collections;
using System.Collections.Generic;

using Framework.Library.Base;

namespace Framework.Library.Domain
{
    public partial class PortalUser : BusinessBase<int>
    {
        #region Declarations

		
		private string _username = String.Empty;
		private string _password = String.Empty;
		private string _name = String.Empty;
		private string _displayName = String.Empty;
		private string _email = String.Empty;
		private string _tel = String.Empty;
		private string _mobile = String.Empty;
		private string _addres = String.Empty;
		private bool _isSuperAdmin = default(Boolean);
		private System.DateTime _joined = new DateTime();
		private System.DateTime _lastVisit = new DateTime();
		private string _ip = String.Empty;
		private int _timeZone = default(Int32);
		private bool _isApproved = default(Boolean);
		private System.DateTime _suspended = new DateTime();
		private bool _pMNotification = default(Boolean);
		
		
		private IList<PortalPersonaluser> _portalPersonalusers = new List<PortalPersonaluser>();
		
        #endregion

        #region Constructors

        public PortalUser() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_username);
			sb.Append(_password);
			sb.Append(_name);
			sb.Append(_displayName);
			sb.Append(_email);
			sb.Append(_tel);
			sb.Append(_mobile);
			sb.Append(_addres);
			sb.Append(_isSuperAdmin);
			sb.Append(_joined);
			sb.Append(_lastVisit);
			sb.Append(_ip);
			sb.Append(_timeZone);
			sb.Append(_isApproved);
			sb.Append(_suspended);
			sb.Append(_pMNotification);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual string Username
        {
            get { return _username; }
			set
			{
				
				_username = value;
				
			}
        }
		
		public virtual string Password
        {
            get { return _password; }
			set
			{
				
				_password = value;
				
			}
        }
		
		public virtual string Name
        {
            get { return _name; }
			set
			{
				
				_name = value;
				
			}
        }
		
		public virtual string DisplayName
        {
            get { return _displayName; }
			set
			{
				
				_displayName = value;
				
			}
        }
		
		public virtual string Email
        {
            get { return _email; }
			set
			{
				
				_email = value;
				
			}
        }
		
		public virtual string Tel
        {
            get { return _tel; }
			set
			{
				
				_tel = value;
				
			}
        }
		
		public virtual string Mobile
        {
            get { return _mobile; }
			set
			{
				
				_mobile = value;
				
			}
        }
		
		public virtual string Addres
        {
            get { return _addres; }
			set
			{
				
				_addres = value;
				
			}
        }
		
		public virtual bool IsSuperAdmin
        {
            get { return _isSuperAdmin; }
			set
			{
				
				_isSuperAdmin = value;
				
			}
        }
		
		public virtual System.DateTime Joined
        {
            get { return _joined; }
			set
			{
				
				_joined = value;
				
			}
        }
		
		public virtual System.DateTime LastVisit
        {
            get { return _lastVisit; }
			set
			{
				
				_lastVisit = value;
				
			}
        }
		
		public virtual string IP
        {
            get { return _ip; }
			set
			{
				
				_ip = value;
				
			}
        }
		
		public virtual int TimeZone
        {
            get { return _timeZone; }
			set
			{
				
				_timeZone = value;
				
			}
        }
		
		public virtual bool IsApproved
        {
            get { return _isApproved; }
			set
			{
				
				_isApproved = value;
				
			}
        }
		
		public virtual System.DateTime Suspended
        {
            get { return _suspended; }
			set
			{
				
				_suspended = value;
				
			}
        }
		
		public virtual bool PMNotification
        {
            get { return _pMNotification; }
			set
			{
				
				_pMNotification = value;
				
			}
        }
		
		public virtual IList<PortalPersonaluser> PortalPersonalusers
        {
            get { return _portalPersonalusers; }
            set
			{
				
				_portalPersonalusers = value;
				
			}
        }
		
        #endregion
    }
}
